MySQL使用TEXT/BLOB类型的几点注意 | 您所在的位置:网站首页 › mysql blob设置大小 › MySQL使用TEXT/BLOB类型的几点注意 |
一、TEXT和BLOB的区别
* TEXT和BLOB家族之间仅有的不同是BLOB类型存储的是二进制数据,没有排序规则或字符集,而TEXT类型有字符集或排序规则。说白了如果要储存中文则选择TEXT。 二、默认值问题Strict Mode下不能设置默认值,否则会报can’t have a default value错: mysql> create table `test`.`text_blob`( -> `a_text` text DEFAULT ' ' , -> `b_blob` blob -> ); ERROR 1101 (42000): BLOB/TEXT column 'a_text' can't have a default value原因:http://koda.iteye.com/blog/288882 select @@sql_mode;//查看模式 Strict Mode下有以下限制: 1).不支持对not null字段插入null值 2).不支持对自增长字段插入”值,可插入null值 3).不支持 text 字段有默认值 三、排序MySQL对TEXT和BLOB列进行排序与其他类型不同:只对每个列的最前max_sort_length字节而不是整个字符串排序。 默认是1024,可以通过配置文件修改。 mysql> SHOW VARIABLES LIKE 'max_sort_length'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_sort_length | 1024 | +-----------------+-------+ 1 row in set (0.00 sec) 四、创建前缀索引通常最好设置开始的部分字符作为索引,这样可以大大节约索引空间,从而提高索引效率。 alter table table1 add key (text1(1024)); |
CopyRight 2018-2019 实验室设备网 版权所有 |